package view;

import java.awt.BorderLayout;
import java.awt.Color;
import java.util.Observable;
import java.util.Observer;

import javax.swing.JFrame;
import javax.swing.JPanel;

import model.Editeur;


public class VueEditeur extends JFrame implements Observer {

	private Editeur editeur;
	private JPanel panneau;
	private TextArea aireDeTexte;
	private CommandArea ligneDeCommande;

	public VueEditeur(Editeur editeur) {
		super();
		this.setVisible(true);
		this.setSize(400, 400);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		panneau = new JPanel(new BorderLayout());
		
		this.add(panneau);
		
		aireDeTexte = new TextArea();
		aireDeTexte.setText(editeur.getDocument().toString());
		aireDeTexte.setFocusable(false);
//		aireDeTexte.setSelectedTextColor(Color.red);
//		aireDeTexte.setSelectionStart(0);
//		aireDeTexte.setSelectionEnd(1);
		panneau.add(aireDeTexte, BorderLayout.CENTER);
		
		ligneDeCommande = new CommandArea();
		ligneDeCommande.setFocusable(false);
		panneau.add(ligneDeCommande, BorderLayout.SOUTH);
		
		panneau.setFocusTraversalKeysEnabled(false);
		panneau.setFocusable(true);
		
		
	}
	
	public JPanel getPanneau() {
		return panneau;
	}
	
	public TextArea getAireDeTexte() {
		return this.aireDeTexte;
	}
	
	@Override
	public void update(Observable arg0, Object arg1) {
		aireDeTexte.setText(((Editeur)arg0).getDocument().toString());
//		aireDeTexte.setSelectionStart(((Editeur)arg0).getDocument().getPositionCompleteCourante());
//		aireDeTexte.setSelectionEnd(((Editeur)arg0).getDocument().getPositionCompleteCourante()+1);
	}
	
}
